home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio
/
Ham Radio CD-ROM (Emerald Software) (1995).ISO
/
misc
/
hamdsk1
/
fwdhdr.doc
< prev
Wrap
Internet Message Format
|
1987-01-07
|
11KB
From: Norm Sternberg-W2JUP
Subj: pbbs message headers
Here are thoughts on the "headers" subject. First, let's put "message
headers" in perspective by looking at the Commission's recent statement in
Report No. DC-645, dated 10/9/86:
"Although it acknowledged assurances of safeguards by the ARRL for the AX.25
packet protocol, the FCC noted that control operators capable of monitoring
such transmissions must alert the control operator of any intermediate
retransmitting station, under automatic control, of any station misuse so that
corrective action can be determined."
To respect the FCC's directives and ensure minimum capability of PBBSs and
network node to comply with FCC requirements, we'd best take a hard look at
the real world:
1. THE ORIGINAL W0RLI/WA7MBL FORMAT COMPLIES - LET'S STAY WITH IT FOR NOW!
2. DESIGN NEW HEADERS BASED ON NEED, FUNCTION AND LOGIC - NOT 'PRETTY PRINT'.
3. DESIGN NEW HEADERS JOINTLY WITH CODE AND SWITCH DEVELOPERS.
4. DESIGN NEW HEADERS FOR MACHINE-READABLE ROUTING TABLE GENERATION
5. LEARN FROM COMMON CARRIER/PTT NETWORKS - DON'T RE-INVENT THE WHEEL!
Some basic assumptions:
1. The main purpose of headers is to service or "track" messages.
2. Messages may require tracking back to originating station.
3. Messages may also require tracking back to first entry node PBBS or switch.
4. The identity of both the originating station and the 'network access'
station and its message number may be required to satisfy possible FCC
traceability on third-party or other questions of legality or suitability
of traffic.
5. Date/time data is probably not needed for tracing message flow.
6. Lengths of fields can be fixed, or delimiters can be used for machine
readability.
The common carriers have dealt with headers for over a century, from
Western Union to today's International Record Carriers. There's a parallel to
our packet radio networks. Their message header formats are established by
the CCITT, the same agency that gave us Recommendation X.25.
These commercial systems have one thing in common with us; automatic
store-and-forward message handling between "telegraph offices" (our nodes and
PBBSs). They also have headers prepended to each message by each serving
office or node.
Let's look at their criteria for message headers and try to learn from
their successful methods.
Here are the items they require in their message headers.
"Following the transmission of the numbering line and pilot line (if
required) the various parts of the preamble line shall be transmitted in
the following order:
1. The name of the office of origin
2. The number of words
3. The date and time of handing in of the telegram
4. Any service instructions"
"When automatic retransmission of telegrams is required between offices in
the network, the required format includes:
1. The destination indicator
2. The priority and tariff indicator
3. The origin indicator
4. The number of chargeable words
5. A customer identification group
6. The service indication
7. The address"
(F.31, F Series of Recommendations of the CCITT.
In discussing the message header format question with colleagues at various
IRCs (WU, MCI, RCA, ITT, DPB, several PTTs) some conclusions were drawn as to
what's important and the relative order of importance in the header.
1. Main purpose of a message header: show where message originated, when,
how and by whom it was handled.
2. Servicing tracing and routing is impossible without these as minima.
3. Message identification by sender's identifier is first priority for
tracing message flow or servicing enquiries. (The "sender" is the
station that put the message into the network; the manual keyboard
operator who wrote the original message.)
3. Require identification of all stations that handled the message and
their message number. (These are the PBBSs, nodes and switches that
have actually manipulated the data.)
4. The date/time of forwarding by intermediate stations is least
important traceable information. Main value in early days of packet
radio to show how long it took to traverse the network. In terms of
servicing enquiries, relatively unimportant.
5. Real goal of any redesign: headers that can be "read" by any serving
automatic system to automatically set it's own routing tables. This
is typically accomplished in ARPANET. Requires redesign of the RLI
and MBL codes; possible if everyone agrees on format.
6. Message header formats now being used burden our systems with
excessive overhead; need streamlining urgently.
7. Comments on new format proposed by K3MC:
(a) Suggested standard pays too much attention to the "received/sent"
date/time data - information of least value to the network except
to satisfy curiosity.
(b) Failure to identify the originating manual station by callsign
makes it impossible to trace message back sender, especially if
the first node "kills" the message after forwarding it.
(c) Identity of sender must be carried through the network to satisfy
FCC requirement.
(d) Sender's message should be numbered by node at which message
enters network. Numbering should be carried through the network.
(e) Unless points (b), (c) and (d) are met, messages cannot be
serviced in backwards direction; entire concept of message header
becomes moot or questionable.
(f) Identification of switching nodes and PBBSs is less important
than identifying the originator.
(g) Nodes should be identified by callsign only. Location is
irrelevant once nodes are set as part of network.
(h) Geographical locators or grid codes are irrelevant to the
network.
(i) Manual users requiring information on routing/addressing should
be given lists of PBBSs/nodes/callsigns/locations rather than
burden the network with the data that the serving nodes already
have in their routing tables.
(j) Question of fixed-length fields versus variable-length fields and
relative positions in header is unimportant providing that field
sizes, sequences and contents are standardized.
(k) Once all parties agree on efficient header format, node software
(PBBS and switches) should be hard-coded to make compliance
mandatory.
(l) Node software should be redesigned to automatically generate
message routing tables based on data in received message headers.
(m) Network community should give urgent consideration to adaption of
a better form of addressing, possibly based on Gordon Beattie's
(N2DSY) suggested "AX.121" addressing methods. Not necessarily
applied to manual keyboard users. First applied to network nodes
and message servers.
In summation, the consensus is this:
1. Header formats in original W0RLI code and WA7MBL compatible code
generally satisfy FCC requirements and are probably best immediate
approach if observed by all nodes and message servers in network.
2. Header variations based on "personal preferences and opinions" of node
operators is probable cause of trouble; standardization is defeated
and overhead is uncontrollable.
3. Immmediate need to modify PBBS code to list received date/time ONLY and
DELETE "sent date/time".
3. Format suggested is the following record and fields:
$p/W2JUP-4/$M/Farmingville/NY/$J$K/r
(Note: slant bars are field delimiters.)
Format for existing PBBS service would be:
[Sender_call] maximum field 9 bytes (WX1XXX-nn)
[PBBS/Node_call] " " 9 " "
[PBBS/Node_Msg #] " " 5 "
[PBBS_City] " " 20 "
[PBBS_State] " " 2 "
[Ryymmddhhmm] " " 10 "
[Time_Zone] " " 1 "
[Optional_ZIP] " " 9 "
[Optional_Grid] " " 6 "
For example, a message placed in my PBBS by a manual user and forwarded by "n"
PBBSs to the west coast might look like this:
W1XXX/WB7DCH/1234/Ecumclaw/WA/8611132300z
W1XXX/KD6SQ/7654/RanchoCucamonga/CA/8611131855z
W1XXX/W5XO/4567/Gausse/TX/8611131744z
W1XXX/K4TKU-1/2345/Miami/FL/86111311513z
W1XXX/W2HPM/277/Farmingville/NY/8611130957r
W1XXX/W2JUP-4/4984/Farmingville/NY/8611122332r
The fact that the columns don't line up neatly is irrelevant. Any decent
software writer can code a parser to delete leading and trailing spaces, or
insert them as required.
The important thing: send MEANINGFUL AND REQUIRED data - not useless extra
spaces, commas, etc. Things like "From", "de", "Rec'd", "Sent", "@", "VIA",
"R:-", "S:-" "z", grid locators, latitude/longitude, can ALL be eliminated
once field content, size and sequence are fixed. Serious coding can reduce
header length further when we reach the point of machine-readable data.
Clever program design can eventually achieve a single-line header that does it
all.
Let's not confuse things introducing different variables with less
efficiency. Hope this stimulates more thinking on the subject. Regards to
all.
-----------------
The above message was recieved some time ago from Norm, and I have edited
it slightly.
My only comment about Headers was to keep them short and to get the
un-needed "Sent time" out of them.
I would not be opposed to a format similar to:
R:8612310123z <K7PYK #1234 @WA7MBL (!801) [Logan, UT]
The R: would identify it as a header as opposed to text. The
< for from, # for msg number, @ for BBS fowarding, (! to indicate
area code, and brackets for local optional junk would make it easy
to parse by computer (and match some current message headers plus
the current method of entering a message.) It would also be easy
to read by the message recipient. (One small problem with a format
with no "useless extra data"). Also, it should be easy to find the
@BBS to address a return message to.
Jeff, WA7MBL